// 导入登录api
import {Login,SendPhone,NewPhone} from '../../api/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    showPhone:false,
    phone:"",
  },
  inputphone(e){
    this.setData({phone:e.detail.value})
  },
  // 保存手机号
  sendPhone(){
    // 获取当前页面data中的手机号
    var phone = this.data.phone;
    // 正则手机号
    var  reg = /1\d{10}/;   
    // 如果测试手机号正确
    if(reg.test(phone)){
      console.log("phone",phone)
      // 存储本地用户信息，与token
      wx.setStorageSync("user",this.data.user);
      wx.setStorageSync("token",this.data.token);
      //数据发送给服务器
      // 跳转到search页面
      SendPhone({phone})
      .then(re=>{
        if(re.code===200){
          // 如果发送成功
          wx.redirectTo({
            // 跳转到redirect页面
            url:this.data.redirect,
          })
        }
      })
      .catch(err=>{
        console.log(err,"err")
        wx.showToast({
          title: '网络错误',
          icon:'none'
        })
      })
    }else{
      // 正则不成功显示手机号错误
      wx.showToast({
        title: '手机号不正确',
        icon:'none'
      })
    }
  },
  // 获取手机号（open-type="getPhoneNumber"）
  async getPhoneNumber  (e) {
    console.log(e,e.detail)
    // 用that缓存this
    var that = this;    
    // 如果有手机号
    if(e.detail.code){
      // 146769fd340fce0fb4a99d0babbc50ea01e86c06917f80f6318e95f4c6971ce2
     var resphone =  await NewPhone({code:e.detail.code})
     that.setData({phone:resphone.data.phone})
     console.log(resphone,"resphone")
      // this.setData({phone:e.detail.code})
    }   
    // 登录流程（wx.login()获取code）
    wx.login({
      success(res){
        // res.code 当前用户根据一定算法算出一段字符串，通常可以用code
        // 来和后端交互实现登录（获取token和user）
        Login({code:res.code,token:"a8d618c956399356aa153fe5348301a8"})
        .then(response=>{
            if(response.code===200){
              // 存在data用户信息和token
              that.setData({"token":response.data.token})
              that.setData({"user":response.data.user})
              // 如果没有手机号
              if(!e.detail.code){
                // 显示获取手机号的表单
                that.setData({showPhone:true})
              }else{
                // 如果已经有手机号
                // 1 跳转到redirect对应页面
                // 2 把手机号发送后端
               that.sendPhone()
              }
            }
        })

      }
    })
    
    
  },
   
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取查询参数redirect
    var redirect = options.redirect||"/pages/home/home"
    // 更新redirect
    this.setData({redirect})
    wx.setNavigationBarTitle({
      title: '登录',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})